package com.zhangtai.modules.vo;

import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.zhangtai.config.LongJsonDeserializer;
import com.zhangtai.config.LongJsonSerializer;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;


@Data
public class DimissionAuditVo implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    @TableId
    @JsonDeserialize(using = LongJsonDeserializer.class)
    @JsonSerialize(using = LongJsonSerializer.class)
    private Long id;
    /**
     * 流程编号
     */
    @ApiModelProperty(value = "流程编号", required = false)
    private String processNumber;
    /**
     * 申请人id
     */
    @ApiModelProperty(value = "申请人id", required = false)
    private Long applyOid;
    /**
     * 申请人code
     */
    @ApiModelProperty(value = "申请人code", required = false)
    private String applyCode;
    /**
     * 申请人名字
     */
    @ApiModelProperty(value = "申请人名字", required = false)
    private String applyName;

    /**
     * 申请人名字
     */
    @ApiModelProperty(value = "申请日期", required = false)
    private Date applyTime;

    /**
     * 部门id
     */
    @ApiModelProperty(value = "部门id", required = false)
    private Long applyDepId;
    /**
     * 部门
     */
    @ApiModelProperty(value = "部门", required = false)
    private String applyDepartment;

    /**
     * 员工id
     */
    @NotNull(message = "员工id不能为空")
    @ApiModelProperty(value = "员工id", required = false)
    private Long oid;


    /**
     *  员工工号
     */
    @ApiModelProperty(value = "员工工号", required = false)
    private String code;
    /**
     * 姓名
     */
    @ApiModelProperty(value = "姓名", required = false)
    private String name;
    /**
     * 公司id
     */
    @ApiModelProperty(value = "公司id", required = false)
    private Long orgId;
    /**
     * 拟录用公司
     */
    @ApiModelProperty(value = "拟录用公司", required = false)
    private String orgname;
    /**
     * 部门id
     */
    @ApiModelProperty(value = "部门id", required = false)
    private Long unitId;
    /**
     * 拟录用部门
     */
    @ApiModelProperty(value = "拟录用部门", required = false)
    private String unitname;
    /**
     * 岗位id
     */
    @ApiModelProperty(value = "岗位id", required = false)
    private Long jobId;
    /**
     * 拟录用岗位
     */
    @ApiModelProperty(value = "拟录用岗位", required = false)
    private String jobname;
    /**
     * 预计入职时间
     */
    @ApiModelProperty(value = "预计入职时间", required = false)
    private Date hiredate;

    /**
     * 体系id
     */
    @ApiModelProperty(value = "体系id", required = false)
    private Long jobSystemId;
    /**
     * 体系
     */
    @ApiModelProperty(value = "体系", required = false)
    private String jobSystem;

    /**
     * 条线id
     */
    @ApiModelProperty(value = "条线id", required = false)
    private Long lineId;
    /**
     * 条线
     */
    @ApiModelProperty(value = "条线", required = false)
    private String line;


    /**
     * 工作年限 司龄
     */
    @ApiModelProperty(value = "作年限 司龄", required = false)
    private String workingYears;


    /**
     * 职级id
     */
    @JsonDeserialize(using = LongJsonDeserializer.class)
    @JsonSerialize(using = LongJsonSerializer.class)
    @ApiModelProperty(value = "职级id", required = false)
    private Long jobLevelId;

    /**
     * 职级
     */
    @ApiModelProperty(value = "职级", required = false)
    private String jobLevel;

    /**
     * 职级类别，1：专业2:管理，
     */
    @ApiModelProperty(value = "职级类别，1：专业2:管理，", required = false)
    private Integer jobLevelType;

    /**
     * 离职原因
     */
    @ApiModelProperty(value = "审计事由", required = false)
    private String remark;
    /**
     * 附件路径
     */
    @ApiModelProperty(value = "附件路径", required = false)
    private String urlIds;

    /**
     * 附件路径
     */
    @ApiModelProperty(value = "附件路径", required = false)
    private ArrayList<String> urlIdsList;



}
